home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
R-Shows
/
(c)woc x 92a.d64
/
ski!
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
7KB
|
182 lines
100 REM SKI
110 DEFFNLG(X)=LEN(STR$(X))-2
120 POKE53280,5:POKE53281,1:POKE53272,21
130 S=54272:FORQ=STOS+24:POKEQ,0:NEXT
140 PRINT"[147]SKI!"
150 PRINT" THE IDEA OF THIS GAME IS TO SKI FOR"
160 PRINT"AS LONG AS POSSIBLE WITHOUT BEING"
170 PRINT"CARRIED AWAY IN A DOG SLED. YOUR BEST ";
180 PRINT"RUNS WILL BE SAVED TO DISK. YOU MUST"
190 PRINT"NOT HIT A TREE, ROCK OR AN ICE PATCH."
200 PRINT" LOADING SPRITES, CHARACTERS, AND M.L."
210 GOSUB1100:IFCK<>40275THENPRINT"[147]TYPOS IN DATA STATEMENTS":END
220 SYS49290:POKE251,0:DIMHS$(40),HS(40)
230 GETA$:IFA$=""THENGOSUB990
240 OPEN1,8,2,"HIGHS,S,R"
250 FORQ=1TO40:INPUT#1,HS$(Q),HS(Q):NEXT
260 CLOSE1:POKE53272,30
270 PRINT"[147] **** SKI! RECORDS ****"
280 FORQ=1TO20:PRINTTAB(4-FNLG(Q));STR$(Q);TAB(6);". ";HS$(Q);
285 PRINTTAB(16-FNLG(HS(Q)));HS(Q);
290 PRINTTAB(23);Q+20;"[157]. ";HS$(Q+20);TAB(36-FNLG(HS(Q+20)));HS(Q+20)
300 NEXT
310 PRINT" PRESS FIRE TO PLAY"
320 IF(PEEK(56320)AND16)THEN320
330 REM PLAY
340 PRINT"[147]";:POKE648,60:PRINT"[147][192][193][192][193][144] SCORE: RANKING: [192][193][192][193]"
350 SYS49152:POKE648,4
360 SC=0:R=40:W=32:BC=53279:N=200:B=4
370 POKE2040,194:POKE53269,1:POKE53248,180:POKE53249,160:POKE53287,0:Z=PEEK(BC)
380 S=54272:FORQ=STOS+24:POKEQ,0:NEXT:POKES+24,15:POKES+6,128:POKES+1,5
390 POKES+4,129:POKE53264,0:POKE251,1
395 FORQ=1TO25:PRINT"[192][193] [193][157][148][192]":NEXT
400 REM GENERATE COURSE
410 POKE214,24:PRINT
420 GOSUB1040
430 IFB>2THENIFRND(1)<.3THENB=B-2
440 IFB+W<38THENIFRND(1)<.3THENB=B+2
450 PRINTLEFT$("[192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193]",B);TAB(B+W);
460 PRINTLEFT$("[192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193][192][193]",38-(B+W));
470 PRINT"[193][157][148][192]";
480 F=64+2*INT(RND(1)*3):P=B+INT(RND(1)*(W-1))
490 C=-5*(F=64)-3*(F=66)-2*(F=68)
500 IFRND(1)<.4THENPOKE1984+P,F:POKE1985+P,F+1:POKE56256+P,C:POKE56257+P,C
510 POKE648,60:PRINT"";TAB(16-FNLG(SC));SC;TAB(28);R+1;"[157] ";
520 POKE648,4:PRINT"";
530 IFR=0THEN550
540 IFSC>HS(R)THENR=R-1
550 IFSC>NTHENN=N+200:W=W-4:B=B+2:IFW<12THENW=12:B=B-2
560 POKES,-128*(PEEK(2040)<>194)
570 SC=SC+1:IFPEEK(BC)=0THEN410
580 REM CRASH!!!
590 POKE53274,0:SYS65418:POKES+1,100:POKES+4,128:POKES+6,253:POKES+4,129
600 POKES+4,128:POKE53272,30:POKE56334,1
610 FORQ=160TO150STEP-1:POKE53249,Q:FORD=1TO15:POKE53281,DAND15:NEXTD,Q
620 FORQ=150TO160:POKE53249,Q:FORD=1TO15:POKE53281,DAND15:NEXTD,Q
630 POKE2040,195:POKE53281,1
640 REM DOG
645 POKES+5,2
650 POKE53288,7:POKE2041,196:POKE53251,159:POKE53277,2:POKE53250,0:POKE53269,3
655 POKES+6,0:POKES+4,129:POKES+1,48
660 SK=PEEK(53248)+256*(PEEK(53264)AND1):FORDG=0TO344STEP4
670 IFSK<DGTHENSK=DG
680 POKE53248,SKAND255:POKE53250,DGAND255
685 POKE53264,(DGAND256)/128+(SKAND256)/256
686 POKES+4,128:POKES+4,129
687 FORD=1TO25:NEXT
690 NEXT
700 POKES+4,128:POKES+1,5:POKES+6,240:POKES+5,0
710 POKE53269,1:POKE53264,0:POKE53248,0
740 PRINT"[147]GAME OVER"
750 PRINT"FINAL SCORE=";SC
760 FORR=40TO1STEP-1:IFSC>HS(R)THENNEXT
770 FORD=1TO2000:NEXT
780 R=R+1:IFR=41THEN270
790 PRINT"[147]YOU ARE ON THE HIGH-SCOREBOARD!!!!!! "
800 PRINT" IN POSITION #";R;"[157]. ENTER YOUR INITIALS."
810 PRINT" UP & DOWN RUN THROUGH ALPHABET"
820 PRINT"LEFT & RIGHT SELECT WHERE TO PUT LETTER"
830 PRINT" FIRE LOCKS INITIALS IN AND SAVES BOARD"
840 FORQ=39TORSTEP-1:HS(Q+1)=HS(Q):HS$(Q+1)=HS$(Q):NEXT:HS(R)=SC:HS$(R)=""
850 L=0:Z=1:FORQ=1562TO1564:POKEQ,96:NEXT
860 POKE1602+L,30:POKE1562+L,Z:POKE55834+L,5:POKE55874+L,5
870 FORD=1TO50:NEXT
880 P=PEEK(56320)AND15:IFP=7THENPOKE1602+L,32:L=L+1:IFL=3THENL=0
890 IFP=11THENPOKE1602+L,32:L=L-1:IFL=-1THENL=2
900 Z=PEEK(1562+L):IFP=14THENZ=Z+1:IFZ=32THENZ=96
910 IFZ=97THENZ=1
920 IFP=13THENZ=Z-1:IFZ=0THENZ=96
930 IFZ=95THENZ=31
940 IF(PEEK(56320)AND16)THEN860
950 FORQ=1TO3:Z=PEEK(1561+Q):IFZ=96THENHS$(R)=HS$(R)+"[160]":GOTO965
960 HS$(R)=HS$(R)+CHR$(Z+64)
965 NEXT
970 GOSUB1010:GOTO270
980 END
990 PRINT"[147]****** HIGHSCORES BEING CLEARED ******"
1000 FORQ=1TO40:HS$(Q)="[160][160][160]":HS(Q)=0:NEXT
1010 OPEN1,8,2,"@0:HIGHS,S,W"
1020 FORQ=1TO40:PRINT#1,HS$(Q);",";HS(Q);CHR$(13);
1030 NEXT:CLOSE1:RETURN
1040 IF(PEEK(56320)AND16)THENRETURN
1050 POKES+24,0:POKE251,0
1060 IF(PEEK(56320)AND16)=0THEN1050
1070 IF(PEEK(56320)AND16)THEN1070
1080 IF(PEEK(56320)AND16)=0THEN1080
1090 POKES+24,15:POKE251,1:RETURN
1100 READA:IFA=-1THENRETURN
1110 FORQ=ATOA+7:READC:POKEQ,C:CK=CK+C:NEXT
1120 GOTO1100
1130 DATA14848,001,003,015,063,015,063,255,001
1140 DATA14856,128,192,240,252,240,252,255,128
1150 DATA14864,007,127,255,063,031,127,127,031
1160 DATA14872,248,224,252,255,254,240,255,252
1170 DATA14880,000,000,007,008,007,031,063,127
1180 DATA14888,000,128,240,252,062,223,239,224
1190 DATA12288,000,024,000,000,060,000,000,024
1200 DATA12296,000,000,126,000,000,153,064,000
1210 DATA12304,217,128,000,189,000,001,054,000
1220 DATA12312,000,036,000,000,072,000,000,144
1230 DATA12320,000,000,000,000,000,000,000,000
1240 DATA12328,000,000,000,000,000,000,000,000
1250 DATA12336,000,000,000,000,000,000,000,000
1260 DATA12344,000,000,000,000,000,000,000,196
1270 DATA12352,000,024,000,000,060,000,000,024
1280 DATA12360,000,000,126,000,002,153,000,001
1290 DATA12368,155,000,000,189,000,000,108,128
1300 DATA12376,000,036,000,000,018,000,000,009
1310 DATA12384,000,000,000,000,000,000,000,000
1320 DATA12392,000,000,000,000,000,000,000,000
1330 DATA12400,000,000,000,000,000,000,000,000
1340 DATA12408,000,000,000,000,000,000,000,196
1350 DATA12416,000,024,000,000,060,000,000,153
1360 DATA12424,000,000,255,000,000,153,000,000
1370 DATA12432,153,000,000,189,000,000,036,000
1380 DATA12440,000,036,000,000,066,000,000,066
1390 DATA12448,000,000,000,000,000,000,000,000
1400 DATA12456,000,000,000,000,000,000,000,000
1410 DATA12464,000,000,000,000,000,000,000,000
1420 DATA12472,000,000,000,000,000,000,000,214
1430 DATA12480,000,024,000,000,060,000,000,090
1440 DATA12488,000,000,126,000,000,153,000,002
1450 DATA12496,153,064,001,060,128,000,195,000
1460 DATA12504,000,066,000,000,036,000,000,000
1470 DATA12512,000,000,000,000,000,000,000,000
1480 DATA12520,000,000,000,000,000,000,000,000
1490 DATA12528,000,000,000,000,000,000,000,000
1500 DATA12536,000,000,000,000,000,000,000,215
1590 DATA 49152 , 120, 169, 33, 141, 20, 3, 169, 192
1600 DATA 49160 , 141, 21, 3, 169, 0, 141, 14, 220
1610 DATA 49168 , 169, 27, 141, 17, 208, 169, 50, 141
1620 DATA 49176 , 18, 208, 169, 1, 141, 26, 208, 88
1630 DATA 49184 , 96, 169, 1, 141, 25, 208, 173, 18
1640 DATA 49192 , 208, 201, 58, 240, 13, 169, 254, 141
1650 DATA 49200 , 24, 208, 169, 58, 141, 18, 208, 76
1660 DATA 49208 , 182, 192, 169, 30, 141, 24, 208, 169
1670 DATA 49216 , 50, 141, 18, 208, 165, 251, 208, 3
1680 DATA 49224 , 76, 49, 234, 173, 0, 220, 41, 8
1690 DATA 49232 , 208, 18, 238, 0, 208, 208, 5, 169
1700 DATA 49240 , 1, 141, 16, 208, 169, 193, 141, 248
1710 DATA 49248 , 7, 76, 49, 234, 173, 0, 220, 41
1720 DATA 49256 , 4, 208, 23, 206, 0, 208, 173, 0
1730 DATA 49264 , 208, 201, 255, 208, 5, 169, 0, 141
1740 DATA 49272 , 16, 208, 169, 192, 141, 248, 7, 76
1750 DATA 49280 , 49, 234, 169, 194, 141, 248, 7, 76
1760 DATA 49288 , 49, 234, 120, 169, 51, 133, 1, 169
1770 DATA 49296 , 0, 133, 251, 133, 253, 169, 208, 133
1780 DATA 49304 , 252, 169, 56, 133, 254, 160, 0, 177
1790 DATA 49312 , 251, 145, 253, 200, 208, 249, 230, 252
1800 DATA 49320 , 230, 254, 165, 254, 201, 58, 208, 237
1810 DATA 49328 , 169, 55, 133, 1, 88, 96, 162,0
1820 DATA 49336 , 169, 0, 157, 5, 216, 232, 224, 30
1830 DATA 49344 ,208,248,76,188,254,0,0,0
1840 DATA 15104,0,0,0,0,0,0,0,0
1841 DATA12544,000,000,000,000,000,000,000,000
1842 DATA12552,000,000,000,000,000,000,000,000
1843 DATA12560,000,008,000,000,014,000,032,014
1844 DATA12568,000,039,056,000,097,248,255,255
1845 DATA12576,248,016,131,048,016,147,048,127
1846 DATA12584,242,168,000,000,000,000,000,000
1847 DATA12592,000,000,000,000,000,000,000,000
1848 DATA12600,000,000,000,000,000,000,000,127,-1